package org.timemachine.query.util;

import java.util.ArrayList;
import java.util.Map;

import org.timemachine.query.QueryEntity;

public interface QueryParserToolInterface {

	String discardJoinClauseCommands(String sql);

	QueryEntity parseJoinStatement(
			QueryEntity queryEntity, String joinStatement);

	String getQueryBetweenFromAndWhere(String sql);

	String discardFromClauseCommands(String sql);

	Map<String, String> prepareTableNames(Map<String, String> tableAliasPairs);

	ArrayList<String> prepareFromStatementForJoin(
			Map<String, String> joinTableAliasPairWithChange,
			String fromObjectAlias, String joinStatementType);

	ArrayList<String> prepareFromStatement(
			Map<String, String> tableAliasPairWithChange);

	String getAlias(String sql);

	QueryEntity prepareNewQueryStatementForJoin(
			QueryEntity queryEntity, String joinStatementType);

}
